package com.huitu.whht.base.core.api.geo.wiust.entities;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.BaseQo;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 说明: 取用水测站基本信息表查询条件实体类,表名称: WR_WIUST_B <br/>
 * 日期: 2018-07-11
 *
 * @author ZhangAY
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GeoWiustQo extends BaseQo {

    private static final long serialVersionUID = 4L;

    /**
     * (数组)取用水测站代码
     */
    private List<String> wiustCdList;
    /**
     * 取用水测站代码
     */
    private String wiustCd;
    /**
     * 取用水测站名称
     */
    private String wiustNm;
    /**
     * (数组)取用水测站类别
     */
    private List<String> wiustTpList;
    /**
     * 所在地
     */
    private String loc;
    /**
     * (数组)基面类型
     */
    private List<String> datTpList;
    /**
     * (最小)基面高程
     */
    private Double datElevMin;
    /**
     * (最大)基面高程
     */
    private Double datElevMax;
    /**
     * (最小)修正基值
     */
    private Double modBasValMin;
    /**
     * (最大)修正基值
     */
    private Double modBasValMax;
    /**
     * (数组)修正参数
     */
    private List<Double> modParaList;
    /**
     * (数组)运行状况
     */
    private List<String> runCondList;
    /**
     * (数组)管理单位代码
     */
    private List<String> engManCdList;
    /**
     * 管理单位代码
     */
    private String engManCd;
    /**
     * (开始时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsBgTm;
    /**
     * (结束时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsEdTm;
    /**
     * 备注
     */
    private String nt;
    /**
     * (数组)资金来源
     */
    private List<String> capFromList;
}